home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / util / time / Easter.lha / Easter / c-version / EASTER.C < prev    next >
C/C++ Source or Header  |  1996-12-22  |  1KB  |  55 lines

  1. /* EASTER.C    An Easter Datecalculating program for Orthodox/Catholic Easter
  2.                C code ported from PASCAL by melody@compulink.gr modifications
  3.                by gj489@po.cwru.edu You may distribute the source as is  */
  4.  
  5. #include <stdio.h>
  6. main()
  7.    {
  8.    int year,a1,a2,a3,b1,b2,d,z;
  9.    enter_year:
  10.    printf("Enter year : ");
  11.    scanf("%d",&year);
  12.    if (year <= 0)
  13.       {
  14.       printf("Illigal year. Use years > 0");
  15.       goto enter_year;
  16.       }
  17.    a1=year-(year/19)*19;
  18.    a1=a1*19+16;
  19.    a2=year-(year/4)*4;
  20.    a2=a2*2;
  21.    a3=year-(year/7)*7;
  22.    a2=a2+4*a3;
  23.    b1=a1-(a1/30)*30;
  24.    a2=a2+6*b1;
  25.    b2=a2-(a2/7)*7;
  26.    d=3+b1+b2;
  27.    printf("Easter day for %d is:\n",year);
  28.    if (d <= 30)
  29.       {
  30.       printf("Orthodox Easter is on April %d\n",d);
  31.       if (d <= 7)
  32.          {
  33.          z=7-d;
  34.          printf("Catholic Easter is on March %d\n",31-z);
  35.          }
  36.       else
  37.          {
  38.          printf("Catholic Easter is on April %d\n",d-7);
  39.          }
  40.       }
  41.    else
  42.       {
  43.       printf("Orthodox Easter is on May %d\n",d-30);
  44.       z=d-30;
  45.       if (z <= 7)
  46.          {
  47.          printf("Catholic Easter is on April %d\n",30-7+z);
  48.          }
  49.       else
  50.          {
  51.          printf("Catholic Easter is on May %d\n",d-37);
  52.          }      
  53.       }
  54.   }
  55.